One of the methods for adjusting filter coefficients of an adaptive filter is a least mean square (LMS) algorithm. In an LMS filter, the filter coefficients are updated based on an error between an actual output of the LMS filter and a reference value. The error is fed back to update the filter coefficients and updated filter coefficients are generated based on a step size and the error, which is iteratively updated until convergence is obtained.
Performance of an LMS equalizer, (or a normalized LMS (NLMS) equalizer), is degraded in quickly varying channels if a small step size is used since the speed of convergence does not keep up with the quickly changing channel. Using a large step size may increase convergence speed, and therefore may enhance the performance of the LMS equalizer. However, using a large step size may cause excessive misadjustment errors. Therefore, there is a trade-off between tracking capability and misadjustment errors. A large step size is preferable to track the channel better. However, a small step size is preferable to reduce the misadjustment errors. Therefore, step size is set to optimize the overall performance, but nevertheless implementation of the LMS algorithm often results in sub-optimal convergence time.
The Griffith algorithm is based on an adaptation of the LMS algorithm that does not require an error signal but requires apriori knowledge of an expected value of a product of a reference signal and a data vector.
It would therefore be desirable to perform channel estimation without the limitations of the prior art.